package com.bdqn.easybuy1.dao;

import com.bdqn.easybuy1.entities.News;
import com.bdqn.easybuy1.param.NewsParams;

import java.sql.Connection;
import java.util.List;

public interface NewsDao {
    /**
     * 添加新闻
     *
     * @param news 保存新闻信息的对象
     * @return 受影响的行数
     * @throws Exception
     */
    int insert(Connection conn, News news) throws Exception;

    /**
     * 修改新闻
     *
     * @param news 保存新闻信息的对象
     * @return 受影响的行数
     * @throws Exception
     */
    int update(Connection conn,News news) throws Exception;

    /**
     * 根据id删除新闻
     *
     * @param id 要删除的新闻ID
     * @return 受影响的行数
     * @throws Exception
     */
    int deleteById(Connection conn,Integer id) throws Exception;

    /**
     * 根据新闻id查询新闻
     *
     * @param id 被查询的新闻id
     * @return 被查询的新闻对象
     * @throws Exception
     */
    News getNewsById(Connection conn,Integer id) throws Exception;

    /**
     * 查询新闻列表
     *
     * @param params 封装查询参数
     * @return 查询到的对象列表
     * @throws Exception
     */
    List<News> getNewsList(Connection conn,NewsParams params) throws Exception;

    /**
     * 查询新闻的条数
     *
     * @param params 封装查询参数
     * @return 返回查询到的数据条数
     * @throws Exception
     */
    Integer getNewsCount(Connection conn,NewsParams params) throws Exception;
}
